Software-based systems typically include some type of user interface for human-computer interaction by which a system obtains input from users and provides output. A user may provide such input via an input device such as a keyboard and/or a mouse that is attached to, or is in communication with, the system. The system may display output on an output device such as a computer monitor that is attached to, or is in communication with, the system.
One type of user interface is a graphical user interface (“GUI”). A GUI typically uses menus and/or other user interface controls to obtain input from the user and windows and/or screens to display information for the user. A window (or other GUI element such as a screen) is typically constructed from one or more visual components such as text fields, images, scroll bars, and the like. The window is displayed by drawing each component of the window on the display. Typically, this involves drawing the visible portions of each component. A portion of a component may not be visible, for example, because that portion has scrolled out of the window or has otherwise been hidden from view. The components can be created using, for example, text or bitmapped images. Examples of GUIs may be found in the WINDOWS operating systems, available from Microsoft Corporation.
One application for a graphical user interface is in embedded systems. For example, a high-speed digital subscriber line 2 (HDSL2) line interface card typically includes an embedded control program that may be accessed by a GUI. The GUI enables a user to view and/or change various operating parameters for the line interface card and to monitor system performance. In some implementations, the line card includes a craft port (for example, a RS-232 serial port) to which a user physically connects a portable computer or other device to communicate with the embedded control program. In some other implementations, the embedded control program and the user may communicate via an embedded operations channel included in the main HDSL2 data link provided by the line interface card.